package com.mdd.front.service;

import com.github.binarywang.wxpay.bean.notify.SignatureHeader;
import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult;
import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.mdd.front.validate.BalancePayParam;
import com.mdd.front.vo.wxpay.WxPayCreateOrderRequest;

import java.util.Map;

public interface IPayService {

    WxPayUnifiedOrderV3Result.JsapiResult createWxOrder(WxPayCreateOrderRequest request, String serverUrl) throws WxPayException;

    String createH5Order(WxPayCreateOrderRequest request, String serverUrl) throws WxPayException;

    boolean dealWxOrderNotify(String jsonData, SignatureHeader signatureHeader) throws WxPayException;

    boolean dealWxRechargeOrderNotify(String jsonData, SignatureHeader signatureHeader) throws WxPayException;

    void balance2PayOrder(BalancePayParam balancePayParam);

    WxPayUnifiedOrderV3Result.JsapiResult createWxRechargeOrder(WxPayCreateOrderRequest request, String serverUrl) throws WxPayException;

}
